package com.cat.twoPointerTechnique;

import java.util.Arrays;

/**
 * @author 曲大人的喵
 * @description https://leetcode.cn/problems/bag-of-tokens/
 * @create 2025/8/1 14:50
 * @since JDK17
 */

public class Solution01 {
    public int bagOfTokensScore(int[] tokens, int power) {
        int ans = 0;
        Arrays.sort(tokens);    // 排升序
        for (int l = 0, r = tokens.length - 1; l <= r; ) {
            if (power >= tokens[l]) {   // 使用策略一
                power -= tokens[l++];
                ans++;
            } else if (r - l > 1 && ans > 0){   // 有利可图
                ans--;
                power += tokens[r--];
            } else {
                break;
            }
        }

        return ans;
    }
}
